package com.zmt.content.mapper;

import com.zmt.content.dto.TeachplanDto;
import com.zmt.content.po.Teachplan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 课程计划 Mapper 接口
 * </p>
 *
 * @author itcast
 */
public interface TeachplanMapper extends BaseMapper<Teachplan> {

    //查询课程计划（这里由于只有大章节和小章节，因此使用自连接就可以实现，不确定需要查询多少次的sql里的递归）
    /*
    自上而下的查询
    select b.* from teachplan a inner join teachplan b on b.parentId=a.id where a.parentid=0 and a.course_id

    但是还关联了媒资表，一个课程可能对应一个视频，一个视频可能存在多个章节。
    其次，也存在一个课程里面没有视频的情况，因此需要进行一个外连接，查不出来就不显示视频部分，但是还是显示章节部分
     */
    List<TeachplanDto> selectTreeNodes(Long courseId);

    int deleteXZJ(Long teachPlanId);

    void updateOrderBy(@Param("orderby")Integer orderby,@Param("courseId") Long courseId, @Param("grade") Integer grade);
}
